The Linux kernel has a structure, alternatively called the block input/output (“I/O”) or simply BIO structure, to manage different data delivery mechanisms that certain block devices or block driver I/O systems require. In particular, block devices generally include hard disks, flash memory, and other hardware devices that randomly access data in blocks or chunks having a fixed size (e.g., hard drives have the capability to read the contents in a first arbitrary block and then read the contents in a different block that need not be consecutive or otherwise contiguous with the first block).